package Scanner;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class ScannerTest {
    public static void main(String[] args)
    {
        String strDate = null;
        Date date = null;
        String str = null;
        Scanner scan = new Scanner(System.in);
        System.out.println("输入数据:");
        str = scan.next();
        System.out.println("输入的数据为:>"+str);
        System.out.println("输入小数:");
        if(scan.hasNextFloat())
        {
            System.out.println("小数为:>"+scan.nextFloat());
            scan.nextLine();//  消耗掉换行符
        }
        else
        {
            System.out.println("输入的不是小数!!!");
            scan.nextLine(); // 消耗掉上一行数据
            scan.nextLine(); // 消耗掉换行符
        }

        System.out.println("输入日期(yyyy-MM-dd):");
        strDate = scan.nextLine(); // 读取整行日期输入
        // 使用正则表达式验证日期格式
        Pattern datePattern = Pattern.compile("^\\d{4}-\\d{2}-\\d{2}$");
        Matcher matcher = datePattern.matcher(strDate);
        if(matcher.matches())
        {
            try
            {
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                date = dateFormat.parse(strDate);
            }
            catch(ParseException e)
            {
                System.out.println(e.getMessage());
            }
        }
        else
        {
            System.out.println("输入的日期格式错误!!!");
        }
        System.out.println(date);
    }
}
